// 测试WaveCellPro组件的功能
function testWaveCellPro() {
    console.log('开始测试WaveCellPro组件...');
    
    // 测试各种路径情况
    const testCases = [
        {
            name: '有效路径',
            path: 'C:\\Users\\liunm\\SonicVale\\1\\1\\audio\\id_1.wav',
            shouldCreate: true
        },
        {
            name: '空路径',
            path: '',
            shouldCreate: false
        },
        {
            name: 'null路径',
            path: null,
            shouldCreate: false
        },
        {
            name: 'undefined路径',
            path: undefined,
            shouldCreate: false
        },
        {
            name: '已存在的URL',
            path: 'file:///C:/Users/liunm/SonicVale/1/1/audio/id_1.wav',
            shouldCreate: true
        }
    ];
    
    testCases.forEach((testCase, index) => {
        console.log(`\n测试用例 ${index + 1}: ${testCase.name}`);
        console.log(`  输入路径:`, testCase.path);
        
        // 测试pathToFileUrl函数
        if (window.native?.pathToFileUrl) {
            try {
                const result = window.native.pathToFileUrl(testCase.path);
                console.log(`  转换结果:`, result);
            } catch (e) {
                console.error(`  转换失败:`, e);
            }
        } else {
            console.log('  未找到pathToFileUrl函数');
        }
        
        // 测试预期行为
        console.log(`  预期行为: ${testCase.shouldCreate ? '创建WaveSurfer实例' : '跳过WaveSurfer初始化'}`);
    });
}

// 模拟WaveCellPro组件的逻辑
function simulateWaveCellPro(src) {
    console.log('\n=== 模拟WaveCellPro组件逻辑 ===');
    console.log('输入src:', src);
    
    // 模拟toUrl函数
    function toUrl(src) {
        if (!src || typeof src !== 'string' || src.trim() === '') return '';
        if (window.native?.pathToFileUrl) {
            try {
                return window.native.pathToFileUrl(src);
            } catch (e) {
                console.error('路径转换失败:', src, e);
                return '';
            }
        }
        return src;
    }
    
    const validSrc = toUrl(src);
    console.log('有效路径:', validSrc);
    
    if (!validSrc || validSrc.trim() === '') {
        console.log('❌ 无有效音频路径，跳过WaveSurfer初始化');
        return false;
    } else {
        console.log('✅ 有有效音频路径，应创建WaveSurfer实例');
        return true;
    }
}

// 运行模拟测试
function runSimulation() {
    console.log('\n=== 运行模拟测试 ===');
    const testPaths = [
        'C:\\Users\\liunm\\SonicVale\\1\\1\\audio\\id_1.wav',
        '',
        null,
        undefined,
        'file:///C:/Users/liunm/SonicVale/1/1/audio/id_1.wav'
    ];
    
    testPaths.forEach((path, index) => {
        console.log(`\n--- 测试路径 ${index + 1} ---`);
        simulateWaveCellPro(path);
    });
}

// 执行所有测试
testWaveCellPro();
runSimulation();